package com.yuqiaotech.dbpro.proxy.jdbc;

import java.sql.Statement;
import java.util.List;
import java.util.Map;

import com.yuqiaotech.dbpro.proxy.jdbc.WrapperProxy;



public interface StatementProxy extends Statement, WrapperProxy {

    ConnectionProxy getConnectionProxy();

    Statement getRawObject();

    List<String> getBatchSqlList();

    String getBatchSql();
    
//    JdbcSqlStat getSqlStat();
    
    StatementExecuteType getLastExecuteType();
    
//    void setSqlStat(JdbcSqlStat sqlStat);

    String getLastExecuteSql();
    
    long getLastExecuteStartNano();
    void setLastExecuteStartNano(long lastExecuteStartNano);
    void setLastExecuteStartNano();
    
    long getLastExecuteTimeNano();
    void setLastExecuteTimeNano(long nano);
    void setLastExecuteTimeNano();
    
    Map<Integer, JdbcParameter> getParameters();
    
    int getParametersSize();
    JdbcParameter getParameter(int i);
    
    boolean isFirstResultSet();
}
